<rd-header>
  <rd-header-title title="Settings"></rd-header-title>
  <rd-header-content>Settings</rd-header-content>
</rd-header>

<div class="row">
  <div class="col-sm-12">
    <rd-widget>
      <rd-widget-header icon="fa-cogs" title="Application settings"></rd-widget-header>
      <rd-widget-body>
        <form class="form-horizontal">
          <div class="form-group">
            <div class="col-sm-12">
              <label for="toggle_donation" class="control-label text-left">
                Disable donation header
              </label>
              <label class="switch" style="margin-left: 20px;">
                <input type="checkbox" name="toggle_donation" ng-model="formValues.donationHeader"><i></i>
              </label>
            </div>
          </div>
          <!-- logo -->
          <div class="form-group">
            <div class="col-sm-12">
              <label for="toggle_logo" class="control-label text-left">
                Use custom logo
              </label>
              <label class="switch" style="margin-left: 20px;">
                <input type="checkbox" name="toggle_logo" ng-model="formValues.customLogo"><i></i>
              </label>
            </div>
          </div>
          <div ng-if="formValues.customLogo">
            <div class="form-group">
              <span class="col-sm-12 text-muted small">
                You can specify the URL to your logo here. For an optimal display, logo dimensions should be 155px by 55px.
              </span>
            </div>
            <div class="form-group">
              <label for="logo_url" class="col-sm-1 control-label text-left">
                URL
              </label>
              <div class="col-sm-11">
                <input type="text" class="form-control" ng-model="settings.LogoURL" id="logo_url" placeholder="https://mycompany.com/logo.png">
              </div>
            </div>
          </div>
          <!-- !logo -->
          <!-- security -->
          <div class="col-sm-12 form-section-title">
            Security
          </div>
          <div class="form-group">
            <div class="col-sm-12">
              <label for="toggle_allowbindmounts" class="control-label text-left">
                Disable bind mounts for non-administrators
                <portainer-tooltip position="bottom" message="When enabled, regular users will not be able to use bind mounts when creating containers."></portainer-tooltip>
              </label>
              <label class="switch" style="margin-left: 20px;">
                <input type="checkbox" name="toggle_allowbindmounts" ng-model="formValues.restrictBindMounts"><i></i>
              </label>
            </div>
          </div>
          <div class="form-group">
            <div class="col-sm-12">
              <label for="toggle_allowbindmounts" class="control-label text-left">
                Disable privileged mode for non-administrators
                <portainer-tooltip position="bottom" message="When enabled, regular users will not be able to use privileged mode when creating containers."></portainer-tooltip>
              </label>
              <label class="switch" style="margin-left: 20px;">
                <input type="checkbox" name="toggle_allowbindmounts" ng-model="formValues.restrictPrivilegedMode"><i></i>
              </label>
            </div>
          </div>
          <!-- security -->
          <!-- app-templates -->
          <div class="col-sm-12 form-section-title">
            App Templates
          </div>
          <div class="form-group">
            <div class="col-sm-12">
              <label for="toggle_templates" class="control-label text-left">
                Use custom templates
              </label>
              <label class="switch" style="margin-left: 20px;">
                <input type="checkbox" name="toggle_templates" ng-model="formValues.customTemplates"><i></i>
              </label>
            </div>
          </div>
          <div ng-if="formValues.customTemplates">
            <div class="form-group">
              <span class="col-sm-12 text-muted small">
                You can specify the URL to your own template definitions file here. See <a href="https://portainer.readthedocs.io/en/stable/templates.html" target="_blank">Portainer documentation</a> for more details.
              </span>
            </div>
            <div class="form-group" >
              <label for="templates_url" class="col-sm-1 control-label text-left">
                URL
              </label>
              <div class="col-sm-11">
                <input type="text" class="form-control" ng-model="settings.TemplatesURL" id="templates_url" placeholder="https://myserver.mydomain/templates.json">
              </div>
            </div>
          </div>
          <div class="form-group">
            <div class="col-sm-12">
              <label for="toggle_external_contrib" class="control-label text-left">
                Hide external contributions
                <portainer-tooltip position="bottom" message="When enabled, external contributions such as LinuxServer.io will not be displayed in the sidebar."></portainer-tooltip>
              </label>
              <label class="switch" style="margin-left: 20px;">
                <input type="checkbox" name="toggle_external_contrib" ng-model="formValues.externalContributions"><i></i>
              </label>
            </div>
          </div>
          <!-- !app-templates -->
          <!-- actions -->
          <div class="form-group">
            <div class="col-sm-12">
              <button type="button" class="btn btn-primary btn-sm" ng-click="saveApplicationSettings()" ng-disabled="state.actionInProgress" button-spinner="state.actionInProgress">
                <span ng-hide="state.actionInProgress">Save settings</span>
                <span ng-show="state.actionInProgress">Saving...</span>
              </button>
            </div>
          </div>
          <!-- !actions -->
        </form>
      </rd-widget-body>
    </rd-widget>
  </div>
</div>

<div class="row">
  <div class="col-sm-12">
    <rd-widget>
      <rd-widget-header icon="fa-tags" title="Hidden containers"></rd-widget-header>
      <rd-widget-body>
        <form class="form-horizontal">
          <div class="form-group">
            <span class="col-sm-12 text-muted small">
              You can hide containers with specific labels from Portainer UI. You need to specify the label name and value.
            </span>
          </div>
          <div class="form-group">
            <label for="header_name" class="col-sm-1 control-label text-left">Name</label>
            <div class="col-sm-11 col-md-4">
              <input type="text" class="form-control" id="header_name" ng-model="formValues.labelName" placeholder="e.g. com.example.foo">
            </div>
            <label for="header_value" class="col-sm-1 margin-sm-top control-label text-left">Value</label>
            <div class="col-sm-11 col-md-4 margin-sm-top">
              <input type="text" class="form-control" id="header_value" ng-model="formValues.labelValue" placeholder="e.g. bar">
            </div>
            <div class="col-sm-12 col-md-2 margin-sm-top">
              <button type="button" class="btn btn-primary btn-sm" ng-click="addFilteredContainerLabel()" ng-disabled="!formValues.labelValue || !formValues.labelName"><i class="fa fa-plus space-right" aria-hidden="true"></i>Add filter</button>
            </div>
          </div>
          <div class="form-group">
            <div class="col-sm-12 table-responsive">
              <table class="table table-hover">
                <thead>
                  <tr>
                    <th>Name</th>
                    <th>Value</th>
                    <th></th>
                  </tr>
                </thead>
                <tbody>
                  <tr ng-repeat="label in settings.BlackListedLabels">
                    <td>{{ label.name }}</td>
                    <td>{{ label.value }}</td>
                    <td><button type="button" class="btn btn-danger btn-xs" ng-click="removeFilteredContainerLabel($index)"><i class="fa fa-trash space-right" aria-hidden="true"></i>Remove</button></td>
                  </tr>
                  <tr ng-if="settings.BlackListedLabels.length === 0">
                    <td colspan="3" class="text-center text-muted">No filter available.</td>
                  </tr>
                  <tr ng-if="!settings.BlackListedLabels">
                    <td colspan="3" class="text-center text-muted">Loading...</td>
                  </tr>
                </tbody>
              </table>
            </div>
          </div>
          <!-- !filtered-labels -->
        </form>
      </rd-widget-body>
    </rd-widget>
  </div>
</div>
